home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Nibble Magazine
/
nib02.dsk
/
AMPER INTERPRETER DEMO.bas
< prev
next >
Wrap
BASIC Source File
|
2023-02-26
|
4KB
|
90 lines
100 REM ********************
110 REM * *
120 REM * APPLESOFT UTILS *
130 REM * 48K, DOS 3.3 *
140 REM * *
150 REM * CYBORG CORP. *
160 REM * BOSTON, MASS *
170 REM * *
180 REM * R.M. MOTTOLA *
190 REM * 7/80 *
200 REM * *
210 REM ********************
220 :
230 :
250 REM *********************
260 REM * AMPER INTERPRETER *
270 REM * PROGRAMS ARE ALL *
280 REM * COPYRIGHT (C) 1980*
290 REM * BY MICRO-SPARC INC*
292 REM * LINCOLN MA 01773 *
294 REM *********************
300 D$ = CHR$(4)
1000 HOME : PRINT
1010 PRINT TAB( 11)"PRINT...USING DEMO"
1020 PRINT : PRINT
1030 PRINT "THIS DEMONSTRATION SHOWS SOME OF THE FEATURES OF THE PRINT... USING FUNCTION"
1040 PRINT "OF THE AMPER SUB-INTERPRETER. THIS FUNCTION ALLOWS YOU TO PRINT STRINGS"
1050 PRINT "RIGHT-JUSTIFIED AND PADDED WITH BLANKS FOR EASY COLUMN FORMATTING. IT WILL"
1060 PRINT "ALSO OUTPUT FLOATING POINT VALUES IN THESAME FORMAT, ROUNDING OFF IF NECESSARY"
1070 PRINT "TO FIT. IF YOU DESIRE, NUMERICAL VALUES MAY BE OUTPUT IN FIXED POINT FORMAT,"
1080 PRINT "WITH OR WITHOUT COMMAS. AS AN ADDED BONUS, ANY SINGLE BYTE VALUE CAN BE"
1090 PRINT "PRINTED IN EITHER HEX OR BINARY."
1100 VTAB 23: GOSUB 2000
1120 VTAB 5: & CLRPAG
1130 PRINT "ANY SINGLE BYTE VALUE CAN BE PRINTED IN BINARY OR HEX-": PRINT
1140 F1$ = "FRMT,$9;"
1145 A$ = "VALUE":B$ = "HEX":C$ = "BINARY"
1150 & PRNT,A$,F1$
1160 & PRNT,B$,F1$
1165 PRINT " ";
1170 & PRNT,C$,F1$
1180 PRINT : PRINT
1190 F1$ = "FRMT,F9,S;"
1200 F2$ = "FRMT,' $ ',H;"
1210 F3$ = "FRMT,' ',B:"
1220 FOR N = 1 TO 10
1230 A = INT( RND(1) *256)
1240 & PRNT,A,F1$: & PRNT,A,F2$: & PRNT,A,F3$
1250 NEXT N
1260 VTAB 23: GOSUB 2000
1280 VTAB 5: & CLRPAG
1290 PRINT "FLOATING POINT VALUES MAY BE OUTPUT WITHA SPECIFIED NUMBER OF CHARACTERS. IF THE RESULTING STRING IS SHORTER THAN"
1300 PRINT "SPECIFIED, IT WILL BE PADDED WITH THE SELECTED PAD CHARACTER, AND RIGHT"
1310 PRINT "JUSTIFIED. IF IT IS LONGER, IT WILL BE ROUNDED OFF TO FIT. IF IT CANNOT BE"
1320 PRINT "ROUNDED, THE OVERFLOW STRING WILL BE OUTPUT INSTEAD."
1330 VTAB 15
1335 OV$ = "OVERFLO"
1340 F1$ = "FRMT,F11,S;"
1350 F2$ = "FRMT,' ',F8,S;"
1360 F3$ = "FRMT,' ',F7,0:"
1370 FOR N = 1 TO 6
1380 A = RND(1) *10000000
1390 IF N = 1 OR N = 3 OR N = 5 THEN A = -A
1400 & PRNT,A,F1$: & PRNT,A,F2$: & PRNT,A,F3$
1410 NEXT N
1420 VTAB 23: GOSUB 2000
1440 VTAB 5: & CLRPAG
1450 PRINT "FIXED POINT OUTPUT IS ALSO AVAILABLE. YOU MAY SPECIFY NUMBER OF CHARACTERS,"
1460 PRINT "NUMBER OF DECIMAL PLACES, BOTH LEFT AND RIGHT PAD CHARACTERS, AND IF YOU DESIRE"
1470 PRINT "GROUPED OUTPUT WITH COMMAS."
1480 VTAB 12
1490 PRINT " ACCOUNT#" SPC( 5)"BALANCE DUE": PRINT
1500 F1$ = "FRMT,' ',F5,0;"
1510 F2$ = "FRMT,' ',C14,S,2,0:"
1520 FOR N = 1 TO 7
1530 A = INT( RND(1) *10000):B = RND(1) *10000000
1540 & PRNT,A,F1$: & PRNT,B,F2$
1550 NEXT N
1560 VTAB 23: GOSUB 2000
1580 VTAB 5: & CLRPAG
1590 PRINT "THE AMPER SUB-INTERPRETER, INCLUDING THEPRINT...USING FUNCTION HAS BEEN LOADED"
1600 PRINT "INTO MEMORY. YOU MAY WANT TO EXPERIMENT WITH THEM, NOW THAT THIS DEMONSTRATION"
1610 PRINT "IS OVER. SEE NIBBLE VOL.1 #6 FOR THE": PRINT "DOCUMENTATION AND INSTRUCTIONS."
1620 END
2000 PRINT "HIT (RETURN) KEY TO CONTINUE:";
2010 GET A$: PRINT
2012 PRINT D$;"BRUNAMPER INTERPRETER,A$91A0"
2015 HOME
2020 RETURN
2030 :